package com.gomore.opple.module.redpackage.initial;


import com.gomore.opple.BasePresenter;
import com.gomore.opple.BaseView;
import com.gomore.opple.rest.redPackage.RedPackageGroupbyOrderNumber;

import java.util.List;

import okhttp3.MultipartBody;

public interface InitialContract {

    interface View extends BaseView<Presenter> {

        /**
         * 显示进度条
         */
        void showProgressDialog();

        /**
         * 隐藏进度条
         */
        void hideProgressDialog();

        /**
         * 展示消息
         *
         * @param msg 消息
         */
        void showMessage(String msg);

        /**
         * 展示消息
         *
         * @param msgId 消息id
         */
        void showMessage(int msgId);

        /**
         * 加载完毕
         */
        void showLoadMoreCompleted();

        /**
         * 刷新完毕
         */
        void showRefreshCompleted();

        /**
         * 展示内容
         */
        void showContentView();

    }

    interface Presenter extends BasePresenter {

        /**
         * 准备初始化数据
         */
        void prepareInitData();

        /**
         * 查询我的红包
         *
         * @param isLoadMore
         */
        void queryRedPackage(boolean isLoadMore);

        /**
         * 获取数据
         *
         * @return
         */
        List<RedPackageGroupbyOrderNumber> getData();

        /**
         * 保存附件
         *
         * @param file
         */
        void saveAttachment(MultipartBody.Part file, int position);

        /**
         * 激活红包
         *
         * @param orderNumber
         * @param orderReceiptUrl
         */
        void activeRedPackage(String orderNumber, String orderReceiptUrl);
    }
}
